import { FeedItem } from '@/api/feeds';

// 活动相关类型定义
export interface GetActivityListRequest {
  activity_type: number; // 0-最新 1-普通活动 2-nex活动
  start: number;
  size: number;
}

export interface ActivityVO {
  aid: string;
  title: string;
  img: string; // 列表页封面图
  back_img: string; // 详情页背景图
  info: string; // 活动详情描述(富文本字段)
  participant_count: number; // 参与人数
  participant_feed_count: number; // 参与作品数
  status: number; // 0: 即将开始，1: 进行中，2: 已结束
  start_time: string; // 开始时间
  end_time: string; // 结束时间
}

export interface ActivityListVO {
  activity_list: ActivityVO[];
  has_more: boolean;
  next_start: number;
  total_count: number;
}

export interface GetActivityDetailRequest {
  aid: string;
}

// 获取活动作品列表请求参数
export interface GetActivityFeedsRequest {
  aid: string;
  sort_type?: string;
  start: number;
  size: number;
}

// 图片信息类型
export interface ImgVO {
  img_id: string;
  img_url: string;
}

// 标签信息类型
export interface TagVO {
  tag_id: string;
  name: string;
}

// 用户信息类型
export interface UserVO {
  uid: string;
  name: string;
  avatar: string;
  // 可以根据实际需求添加更多字段
}

// 计数信息类型
export interface CounterVO {
  view_count: number;
  like_count: number;
  comment_count: number;
  share_count: number;
  vote_count: number;
}

// 活动作品信息类型
export interface FeedVO extends FeedItem {}

// 活动作品列表响应类型
export interface FeedListVO {
  feeds: FeedVO[];
  has_more: boolean;
  next_start: number;
}

// 获取活动获奖作品列表请求参数
export interface GetActivityWinnersRequest {
  aid: string;
}

export enum ActivityStatus {
  Upcoming = 0, // 即将开始
  Live = 1, // 进行中
  Ended = 2, // 已结束
}

// 获取用户参加的活动列表请求参数
export interface GetUserParticipatedActivitiesRequest {
  uid?: string;
  start: number;
  size: number;
}

// 获取用户投票列表请求参数
export interface GetUserVotesRequest {
  uid?: string;
  start: number;
  size: number;
}

// 获取用户活动数据请求参数
export interface GetUserActivityStaticsRequest {
  uid?: string;
}

// 用户活动数据响应类型
export interface StaticsVO {
  join_count: number; // 参与活动数量
  join_top: string; // 参与活动排名
  vote_received_count: number; // 获得投票数量
  vote_received_top: string; // 获得投票排名
  winner_count: number; // 获奖数量
  winner_top: string; // 获奖排名
}

// 投票请求参数
export interface VoteRequest {
  aid: string;
  feed_id: string;
}

export type ArcadeTabsEM = 'Designs' | 'Voted' | 'History';
